#include "gtkcssselectorprivate.h"
+#include "gtkstylecontextprivate.h"
+
struct _GtkCssSelector
{
GtkCssSelector * previous; /* link to next element in selector or NULL if last */
selector->previous = previous;
selector->combine = combine;
selector->name = name ? g_quark_to_string (g_quark_from_string (name)) : NULL;
- selector->type = G_TYPE_INVALID;
+ selector->type = !name || _gtk_style_context_check_region_name (name) ? G_TYPE_NONE : G_TYPE_INVALID;
selector->ids = ids;
selector->classes = classes;
selector->pseudo_classes = pseudo_classes;
if (selector->pseudo_classes)
return FALSE;
+ if (selector->type == G_TYPE_NONE)
+ return FALSE;
+
/* ugh, assigning to a const variable */
if (selector->type == G_TYPE_INVALID)
((GtkCssSelector *) selector)->type = g_type_from_name (selector->name);